#ifndef GRAPHICS_H
#define GRAPHICS_H

#include <SDL.h>
#include <SDL_image.h>
#include <map>
#include <string>

struct SDL_Window;
struct SDL_Renderer;

class Graphics
{
public:
	Graphics();
	~Graphics();
	SDL_Surface* LoadImage(const std::string &FilePath);
	void BlitSurface(SDL_Texture* Source, SDL_Rect* SourceRectangle, SDL_Rect* DestinationRectangle, int Angle);
	void BlitSurface(SDL_Texture* Texture, SDL_Rect* SourceRectangle, SDL_Rect* DestinationRectangle, int Angle, SDL_Point* Center, SDL_RendererFlip SRL);
	void Flip();
	void Clear();
	SDL_Renderer* GetRenderer() const;
	SDL_Window* Win;
	SDL_Renderer* Ren;
	std::map<std::string, SDL_Surface*> SpriteSheets;
};

#endif